home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 3 / BBS in a box - Trilogy III.iso / Files / Tele / Internet / NewsWatch Folder / headers / AddressXlation.h next >
Encoding:
C/C++ Source or Header  |  1991-04-03  |  1.2 KB  |  54 lines  |  [TEXT/MPS ]

  1. /* 
  2.     AddressXlation.h        
  3.     MacTCP name to address translation routines.
  4.  
  5.     Copyright Apple Computer, Inc. 1988 
  6.     All rights reserved
  7.     
  8. */    
  9.  
  10. #define NUM_ALT_ADDRS    4
  11.  
  12. typedef struct hostInfo {
  13.     long rtnCode;
  14.     char cname[255];
  15.     unsigned long addr[NUM_ALT_ADDRS];
  16. };
  17.  
  18. typedef enum AddrClasses {
  19.     A = 1,
  20.     NS,
  21.     CNAME = 5,
  22.     lastClass = 65535
  23. }; 
  24.  
  25. typedef struct cacheEntryRecord {
  26.     char *cname;
  27.     unsigned short type;
  28.     enum AddrClasses class;
  29.     unsigned long ttl;
  30.     union {
  31.         char *name;
  32.         ip_addr addr;
  33.     } rdata;
  34. };
  35.  
  36. #ifdef THINK_C
  37. typedef void *EnumResultProcPtr;
  38. typedef void *ResultProcPtr;
  39. #else
  40. typedef pascal void (*EnumResultProcPtr)(struct cacheEntryRecord *cacheEntryRecordPtr, char *userDataPtr);
  41. typedef pascal void (*ResultProcPtr)(struct hostInfo *hostInfoPtr, char *userDataPtr);
  42. #endif
  43.  
  44. extern OSErr OpenResolver(char *fileName);
  45.  
  46. extern OSErr StrToAddr(char *hostName, struct hostInfo *hostInfoPtr, ResultProcPtr ResultProc, char *userDataPtr);
  47.  
  48. extern OSErr AddrToStr(unsigned long addr, char *addrStr);
  49.  
  50. extern OSErr EnumCache(EnumResultProcPtr enumResultProc, char *userDataPtr);
  51.  
  52. extern OSErr AddrToName(ip_addr addr, struct hostInfo *hostInfoPtr, ResultProcPtr ResultProc, char *userDataPtr);
  53.  
  54. extern OSErr CloseResolver(void);